package br.com.comprasPublicas.entity;

import java.util.Set;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

/**
 *
 * @author helsen_rafael
 * @since 11/01/11
 */
@Entity
@DiscriminatorValue("1")
public class AutorizaPedido extends Autorizacao {
/**Ao incluir uma autorizaçao haverá uma opção por cotação ou pedido de compra.
 * Caso seja escolhido cotaçao, todo os dados serão buscados automáticamente.
*/

    @OneToOne(targetEntity=Pessoa.class)
    private Pessoa pessoa;

    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="pedido", updatable=true, insertable=true)
    private Pedido pedido;

    @OneToMany(mappedBy="autoriza_pedido",fetch=FetchType.LAZY)
    private Set<InclusaoPrecosPedido> inclusao_precosPedido;

    @Cascade(CascadeType.ALL)

    /**
     * @return the pessoa
     */
    public Pessoa getPessoa() {
        return pessoa;
    }

    /**
     * @param pessoa the pessoa to set
     */
    public void setPessoa(Pessoa pessoa) {
        this.pessoa = pessoa;
    }

    /**
     * @return the pedido
     */
    public Pedido getPedido() {
        return pedido;
    }

    /**
     * @param pedido the pedido to set
     */
    public void setPedido(Pedido pedido) {
        this.pedido = pedido;
    }

    /**
     * @return the inclusao_precosPedido
     */
    public Set<InclusaoPrecosPedido> getInclusao_precosPedido() {
        return inclusao_precosPedido;
    }

    /**
     * @param inclusao_precosPedido the inclusao_precosPedido to set
     */
    public void setInclusao_precosPedido(Set<InclusaoPrecosPedido> inclusao_precosPedido) {
        this.inclusao_precosPedido = inclusao_precosPedido;
    }

    


}
